window.addEventListener('load', function() {
    var arrow_l = this.document.querySelector('.arrow-l');
    var arrow_r = this.document.querySelector('.arrow-r');
    var focus = this.document.querySelector('.focus');

    // 鼠标经过显示左右按钮
    focus.addEventListener('mouseenter', function() {
        arrow_l.style.display = 'block';
        arrow_r.style.display = 'block';
        // 停止定时器
        clearInterval(timer);
        timer = null; // 清空定时器
    })

    // 鼠标离开隐藏左右按钮
    focus.addEventListener('mouseleave', function() {
        arrow_l.style.display = 'none';
        arrow_r.style.display = 'none';
        // 开启定时器
        timer = setInterval(() => {
            // 直接调用右侧按钮的点击事件
            arrow_r.click();
        }, 2000);
    })

    // 添加底部指示器(小圆圈)
    var ul = focus.querySelector('ul');
    var ol = focus.querySelector('.circle');
    var focusWidth = focus.offsetWidth; // 图片宽
    for (let i = 0; i < ul.children.length; i++) {
        // 创建li
        var li = this.document.createElement('li');
        console.log('----', i);
        // 记录当前小圆圈的所有号 自定义属性
        li.setAttribute('index', i);
        // 添加底部显示器
        ol.appendChild(li);
        // li 绑定点击事件
        li.addEventListener('click', function() { // 点击时选中当前
            for (let i = 0; i < ol.children.length; i++) {
                ol.children[i].className = '';
            }
            this.className = 'current';
            // 移动图片 ul
            var index = this.getAttribute('index'); // 获取当前点击li的所有号
            // 同时修改num circle
            num = index;
            circle = index;
            animate(ul, -index * focusWidth); // 移动ul
        })
    }

    // ol里第一个li设置为current
    ol.children[0].className = 'current';

    // 克隆第一个li放在最后面
    var first = ul.children[0].cloneNode(true);
    ul.appendChild(first);

    // 点击右侧按钮图片移动
    var num = 0; // 记录当前显示数
    var circle = 0; // 控制当前小圆点显示数
    arrow_r.addEventListener('click', function() {
        if (num == ul.children.length - 1) {
            ul.style.left = 0;
            num = 0;
        }
        num++;
        animate(ul, -num * focusWidth);
        // 设置底部指示器的当前显示数
        circle++;
        circle = circle == ol.children.length ? 0 : circle;
        circleChange();
    })

    // 左侧按钮
    arrow_l.addEventListener('click', function() {
        if (num == 0) {
            num = ul.children.length - 1;
            ul.style.left = -num * focusWidth + 'px';
        }
        num--;
        animate(ul, -num * focusWidth);
        circle--;
        circle = circle < 0 ? ol.children.length - 1 : circle;
        circleChange();
    })

    // 自动滚动
    var timer = setInterval(() => {
        // 直接调用右侧按钮的点击事件
        arrow_r.click();
    }, 2000);

    // 设置底部指示器的当前显示数
    function circleChange() {
        for (let i = 0; i < ol.children.length; i++) {
            ol.children[i].className = '';
        }
        ol.children[circle].className = 'current';
    }
})